.. :validated: 3.2.0

Обновление первого контроллера домена
=====================================

.. attention::

   После обновления первого контроллера домена возникает ошибка на портале управления: «Операция завершена с ошибкой. Операция с Zabbix завершилась с ошибкой». Она ожидаема и устранится после обновления подсистемы мониторинга.

Все обновления между версиями возможны только в рамках одного исполнения: сертифицированного или несертифицированного. Для обновления до версии другого исполнения необходимо полностью развернуть систему заново.
    
Подготовка к обновлению
-----------------------

.. attention::

   Обновление операционной системы на контроллерах домена не является обязательным этапом процесса обновления **ALD Pro**.

   Необходимость обновления ОС определяется матрицей совместимости **ALD Pro** (см. :ref:`compatibility_matrix`) и выбранным сценарием.
   
   Нижеприведенные шаги 1-4 выполняются только в случае, если сценарий обновления требует обновления ОС.

Перед обновлением **ALD Pro** важно учитывать:

* Обновление продукта **ALD Pro** необходимо выполнять на контроллере домена от имени учетной записи администратора системы с высоким уровнем целостности.

* Обновления следует начинать с **первого** Контроллера Домена. Соответственно, все команды должны вводиться в его консоли (терминале).

* В **ALD Pro** реализовано разграничение доступа к функциям системы. При обновлении системы до актуальной версии администратору должна быть назначена роль **ALDPRO — Main Administrator** (пользователю **admin** роль назначается автоматически), также учетную запись администратора необходимо добавить в группу **ald trust admin**. Остальным пользователям (администраторам) системы соответствующие роли при необходимости нужно назначать в ручном режиме. Подробная информация о работе ролевого доступа находится в **Справочном Центре** **Портала Управления** в разделе **Роли и права доступа** — **Роли в системе**.

Программное обеспечение ОС должно совпадать на контроллерах домена, между которыми настроена репликация. На первом КД необходимо:

1. Убедиться, что в файле ``/etc/apt/sources.list`` в качестве источников пакетов для ОС зарегистрированы основной репозиторий (``repository-main``) и репозиторий с обновлениями основного репозитория (``repository-update``). При необходимости — добавить их, если имеются другие записи, то закомментировать их или удалить. Пример содержимого ``/etc/apt/sources.list`` представлен ниже:

.. code-block:: bash

   deb https://dl.astralinux.ru/astra/frozen/1.7_x86-64/<номер_обновления_ОС_СН>/repository-main 1.7_x86-64 main non-free contrib
   deb https://dl.astralinux.ru/astra/frozen/1.7_x86-64/<номер_обновления_ОС_СН>/repository-update 1.7_x86-64 main non-free contrib

При использовании ОС **Astra Linux** с установленным срочным оперативным обновлением (UU) необходимо дополнительно указать соответствующий ему **frozen** репозиторий. Подробнее в разделе :ref:`connecting_repositories`.

2. Обновить пакеты ОС, выполнив в терминале команду:

.. attention::

   Если на контроллере домена установлен модуль глобального каталога, то для успешного обновления ОС и последующего выполнения команды ``ipa-server-upgrade`` нужно предварительно остановить службы ``dirsrv@GLOBAL-CATALOG.service`` и ``ipa-gcsyncd.service``.

.. code-block:: bash

   sudo apt update && sudo apt install astra-update -y && sudo astra-update -A -r -T

3. Для корректной работы функций репликации на КД необходимо импортировать новые конфигурации службы каталога, выполнив команды:

.. code-block:: bash

   sudo ipa-server-upgrade
   sudo ipactl restart

4. Выполнить перезагрузку для завершения установки обновления.

.. code-block:: bash

   sudo reboot

.. important::
    
   После обновления ОС **Astra Linux** с ранних версий до версии 1.7.8 на компонентах ниже, использующих СУБД **PostgreSQL**, необходимо выполнить действия, описанные в **Руководство Администратора. Часть 2**, раздел **После обновления ОС Astra Linux до версии 1.7.8 не работает вход на портал управления**, так как после обновления ОС для СУБД **PostgreSQL** используются устаревшие конфигурационные файлы. Компоненты, в которых возникает ошибка:
   
   * Контроллеры Домена (в том числе резервные);
   * Подсистема «Сетевой Репозиторий»;
   * Подсистема «Установка ОС по сети TFTP + PXE»;
   * Подсистема «Сервер Мониторинга».

.. include:: check_before_update.inc

Обновление
----------

Для установки обновления **ALD Pro** на первом контроллере домена необходимо подключить репозиторий **aldpro**, выполнив в терминале команды:

.. code-block:: bash

   sudo nano /etc/apt/sources.list.d/aldpro.list

Полностью заменить содержимое файла ``aldpro.list``:

.. code-block:: bash

   deb https://dl.astralinux.ru/aldpro/frozen/01/3.2.0/ 1.7_x86-64 main base

Обновить индекс пакетов, выполнив в терминале команду:

.. code-block:: bash

   sudo apt update

Обновить пакеты продукта **ALD Pro** командой:

.. code-block:: bash

   sudo apt dist-upgrade -y -o Dpkg::Options::=--force-confnew

В процессе выполнения обновления, при появлении сообщения с подтверждением изменения файла настройки пакета, необходимо выбрать **Установить версию, предлагаемую сопровождающим пакета**, введя в командной строке **Y**.

Для завершения обновления первого контроллера домена необходимо выполнить одну из команд обновления ниже.

Если на первом КД не установлены модуль синхронизации и модуль глобального каталога:

.. code-block:: bash

   sudo aldpro-server-install -d ald.company.lan -n dc-1 --ip 10.0.1.11 --update

Если на первом КД установлены модуль синхронизации и модуль глобального каталога:

.. code-block:: bash

   sudo aldpro-server-install -d ald.company.lan -n dc-1 --ip 10.0.1.11 --update --setup_syncer --setup_gc

Если на первом КД установлен только модуль синхронизации:

.. code-block:: bash

   sudo aldpro-server-install -d ald.company.lan -n dc-1 --ip 10.0.1.11 --update --setup_syncer

Если на первом КД установлен только модуль глобального каталога:

.. code-block:: bash

   sudo aldpro-server-install -d ald.company.lan -n dc-1 --ip 10.0.1.11 --update --setup_gc

где:

* ``-d`` (``--domain``) — имя домена;
* ``-n`` (``--host``) — имя сервера;
* ``-p`` (``--admin_pwd``) — получить пароль администратора домена из командной строки (небезопасно);
* ``--ip`` — IP-адрес контроллера домена, на котором предполагается обслуживать клиентов, требуется указывать явно, если на контроллере домена активно несколько сетевых интерфейсов;
* ``--update`` — ключ запуска процесса обновления;
* ``--setup_gc`` — ключ указывает, что нужно настроить установленный ранее модуль глобального каталога;
* ``--setup_syncer`` — ключ указывает, что нужно настроить установленный ранее модуль синхронизации.

Описание параметров скрипта можно получить с помощью ключа ``-h``.

После ввода команды система запросит ввести пароль администратора домена. При обновлении контроллера домена **ALD Pro** до версии 3.2.0, с ранее установленным модулем синхронизации, процесс миграции базы данных (БД) может занять продолжительное время. Если БД содержит 30000 пользователей и более, то рекомендуется сначала обновить **ALD Pro**, затем, выбрав отдельный интервал профилактики, обновить модуль синхронизации, согласно :ref:`syncer_update`.

Если требуется произвести обновление **ALD Pro** с одновременной инициализацией ранее неустановленного модуля глобального каталога и/или модуля синхронизации, то следует обратиться к соответствующим разделам :ref:`gc_update` и :ref:`syncer_update`.

Для синхронизации модулей **SaltStack** необходимо выполнить команду:

.. code-block:: bash

   sudo systemctl restart aldpro-salt-minion

Ошибки, которые могут возникнуть при обновлении системы, описаны в разделе **Руководство администратора. Часть 2** → **Известные проблемы**.

.. _gc_update:

Обновление с установкой Глобального Каталога
--------------------------------------------

При необходимости инициализации модуля глобального каталога одновременно с обновлением **ALD Pro** на первом контроллере домена необходимо предварительно установить пакет глобального каталога из репозитория **ALD Pro** и добавить ключ  ``--setup_gc`` в команду обновления ``aldpro-server-install``.

Команда обновления контроллера домена с инициализацией модуля глобального каталога:

.. code-block:: bash

   sudo apt update && sudo apt install aldpro-gc
   sudo aldpro-server-install -d ald.company.lan -n dc-1 --ip 10.0.1.11 --update --setup_gc

Если на КД также был установлен модуль синхронизации, то при обновлении сервера следует добавить ключ ``--setup_syncer``, иначе подсистема обновления удалит этот модуль с сервера.

После ввода команды система запросит ввести пароль администратора домена.

.. _syncer_update:

Обновление с установкой Модуля Синхронизации
--------------------------------------------

При необходимости инициализации модуля синхронизации одновременно с обновлением **ALD Pro** на первом контроллере домена необходимо предварительно установить пакет модуля синхронизации из репозитория **ALD Pro** и добавить ключ  ``--setup_syncer`` в команду обновления ``aldpro-server-install``.

Модуль синхронизации всегда устанавливается на первый контроллер домена. При установке модуля синхронизации контроллер домена **ALD Pro** добавляется в карточку **Контроллеры домена ALD** автоматически.

При установке модуля синхронизации создается учетная запись имеющая вид ``syncer/dc01.<имя домена>@<ИМЯ ДОМЕНА>``. Данная УЗ является сервисной и используется для работы модуля синхронизации. Пароль данной УЗ является бессрочным, что делает работу модуля синхронизации более стабильной и устойчивой.

Команда обновления контроллера домена с инициализацией модуля синхронизации:

.. code-block:: bash
    
   sudo apt update && sudo apt install aldpro-syncer aldpro-syncer-pwdsync
   sudo aldpro-server-install -d ald.company.lan -n dc-1 --ip 10.0.1.11 --update --setup_syncer

Если на КД также был установлен модуль ГК, то при обновлении сервера следует добавить ключ ``--setup_gc``, иначе подсистема обновления удалит этот модуль с сервера.

После ввода команды система запросит ввести пароль администратора домена.

.. include:: check_after_update.inc